package fachadaPlantilla.delegate;

import java.io.File;
import java.util.List;

import plantilla.PlantillaTO;
import fachadaPlantilla.actions.DevolverDireccionTecladoAction;
import fachadaPlantilla.actions.DevolverNombreTecladoAction;
import fachadaPlantilla.actions.EliminarPlantillaAction;
import fachadaPlantilla.actions.ExisteTecladoAction;
import fachadaPlantilla.actions.GuardarPlantillaAction;
import fachadaPlantilla.actions.MoverPlantillaAction;
import fachadaPlantilla.actions.RecuperarPlantillaAction;
import fachadaPlantilla.actions.TecladoUnicoAction;

public class PlantillaFacade {

	public void GuardarPlantilla(PlantillaTO pto, String ruta) {
		GuardarPlantillaAction guardar = new GuardarPlantillaAction(pto, ruta);
		guardar.Execute();

	}

	public PlantillaTO RecuperarPlantilla(String ruta) {
		RecuperarPlantillaAction recuperar = new RecuperarPlantillaAction(ruta);
		return (PlantillaTO) recuperar.Execute();
	}

	public void EliminarPlantilla(List<String> rutas) {
		EliminarPlantillaAction eliminar = new EliminarPlantillaAction(rutas);
		eliminar.Execute();
	}

	public void MoverPlantilla(String dirOrigen, String dirDestino,
			boolean sobreescribir) {
		MoverPlantillaAction exportar = new MoverPlantillaAction(dirOrigen,
				dirDestino, sobreescribir);
		exportar.Execute();
	}

	public String GetDir(File dirTeclados, String nombreTeclado) {
		DevolverDireccionTecladoAction devolver = new DevolverDireccionTecladoAction(
				dirTeclados, nombreTeclado);
		return (String) devolver.Execute();
	}

	public String GetName(String ruta) {
		DevolverNombreTecladoAction devolver = new DevolverNombreTecladoAction(
				ruta);
		return (String) devolver.Execute();
	}

	public boolean ExisteTeclado(File dirTeclados, String nombreTeclado) {
		ExisteTecladoAction devolver = new ExisteTecladoAction(dirTeclados,
				nombreTeclado);
		return ((java.lang.Boolean) devolver.Execute()).booleanValue();
	}

	public String TecladoUnico(String ruta) {
		TecladoUnicoAction devolver = new TecladoUnicoAction(ruta);
		return (String) devolver.Execute();
	}

}
